追加したモジュールが読み込めないつまり以下のようなエラーが発生する時である
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/XXXXXX.so' - /usr/lib64/php/modules/XXXXXX.so: cannot open shared object file: No such file or directory in Unknown on line 0モジュールが追加されているかを確認エラーで指定されている場所にモジュールがあるかを確認してみる。
[root@test-web ~]# ll /usr/lib64/php/modules/ | grep XXXXXX-rwxr-xr-x 1 root root 346117 Jun 7 10:14 XXXXXX.so[root@test-web ~]# 番外編:php.iniの探し方php --iniコマンドで、一番上に書かれているphp.iniが読まれている。今回の場合は'/etc/php.ini'が該当する
[root@test-web ~]# php --iniConfiguration File (php.ini) Path: /etcLoaded Configuration File: /etc/php.iniScan for additional .ini files in: /etc/php.dAdditional .ini files parsed: /etc/php.d/bz2.ini,/etc/php.d/calendar.ini,/etc/php.d/ctype.ini,/etc/php.d/curl.ini,/etc/php.d/dom.ini,/etc/php.d/exif.ini,/etc/php.d/fileinfo.ini,/etc/php.d/ftp.ini,/etc/php.d/gettext.ini,/etc/php.d/gmp.ini,/etc/php.d/iconv.ini,/etc/php.d/json.ini,/etc/php.d/mbstring.ini,/etc/php.d/mcrypt.ini,/etc/php.d/mysqlnd.ini,/etc/php.d/mysqlnd_mysqli.ini,/etc/php.d/opcache.ini,/etc/php.d/pdo.ini,/etc/php.d/pdo_mysqlnd.ini,/etc/php.d/pdo_sqlite.ini,/etc/php.d/phar.ini,/etc/php.d/posix.ini,/etc/php.d/shmop.ini,/etc/php.d/simplexml.ini,/etc/php.d/sockets.ini,/etc/php.d/sqlite3.ini,/etc/php.d/sysvmsg.ini,/etc/php.d/sysvsem.ini,/etc/php.d/sysvshm.ini,/etc/php.d/tokenizer.ini,/etc/php.d/xml.ini,/etc/php.d/xml_wddx.ini,/etc/php.d/xmlreader.ini,/etc/php.d/xmlwriter.ini,/etc/php.d/xsl.ini,/etc/php.d/zip.ini[root@test-web ~]# grepで出てきた場合php.iniのextension_dirの指定が抜けていないかを確認コメントアウトされている場合は以下のように記述
php.iniextension_dir = "/usr/lib64/php/modules"grepで出てこなかった場合findコマンドで他の場所にないかを探してみる
[root@test-web ~]# find / -name 'XXXXXX.so'/usr/local/php-5.5.14/lib/php/extensions/no-debug-non-zts-20121212/XXXXXX.so[root@test-web ~]#php.iniでの読み込ませる際にディレクトリごと指定してみる。
extension=/usr/local/php-5.5.14/lib/php/extensions/no-debug-non-zts-20121212/XXXXXX.sophp.iniを操作したら必ずやることhttpdプロセスの再起動[root@test-web ~]# /etc/init.d/httpd restartStopping httpd:[ OK ]Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName[ OK ][root@test-web ~]#